home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1237 / 1237.xpi / install.js < prev    next >
Text File  |  2006-08-03  |  2KB  |  51 lines

  1.  
  2. // Based on Extension Developer's install.js
  3. // More info: http://www.xulplanet.com/tutorials/xultu/xpiscript.html
  4.  
  5. const APP_DISPLAY_NAME = "QuickJava";
  6. const APP_PACKAGE = "/quickjavaplugin.blogspot.com/"";
  7. const APP_NAME = "/quickjava";
  8. // TODO: figure out how to extract this from install.rdf
  9. //   or generate install.rdf ...
  10. const APP_VERSION = "0.4.2.1";
  11.  
  12. var instFlags = DELAYED_CHROME;
  13.  
  14. // So, some wierd thing causes extension manager in FF to sometimes fail when 
  15. // trying to delete the temporary xpi file in the last step of installing gm.
  16. // Unfortunately, the error handling sucks so it interprets any failure 
  17. // whatsoever as a missing install.rdf and falls back on this file.
  18. // If this file were to run on FF it would create strange really incorrect
  19. // behavior and just generally be bad since it is the Seamonkey installer.
  20. //
  21. // So... this is a lame attempt at detecting whether we are on Firefox. If so,
  22. // we do nothing.
  23. var ffExtFolder = getFolder("Profile", "extensions");
  24. if (!File.exists(ffExtFolder)) {
  25.  
  26.   var chromef = getFolder("Profile", "chrome/quickjava/");
  27.  
  28.   initInstall(APP_NAME, APP_PACKAGE, APP_VERSION);
  29.  
  30.   var err = addDirectory(APP_PACKAGE, APP_VERSION, "chrome/quickjava", chromef, null);
  31.  
  32.   if(err >= SUCCESS) { 
  33.           registerChrome(CONTENT | instFlags, getFolder( "Profile", "chrome/quickjava/content/" ));
  34.           //registerChrome(LOCALE  | instFlags, ...);
  35.           //registerChrome(SKIN  | instFlags, ...);
  36.           err = performInstall();
  37.           if(err >= SUCCESS) {
  38.                   alert(APP_DISPLAY_NAME + " " + APP_VERSION + " has been succesfully installed.\n"
  39.                           +"Please restart your browser before continuing.");
  40.           } else { 
  41.                   alert("Install failed. Error code:" + err);
  42.                   cancelInstall(err);
  43.           }
  44.   } else { 
  45.           alert("Failed to create chrome directory\n"
  46.                   +"You probably don't have appropriate permissions \n"
  47.                   +"(write access to Profile/chrome directory). \n"
  48.                   +"_____________________________\nError code:" + err);
  49.           cancelInstall(err);
  50.   }
  51. }